<?php

use Illuminate\Database\Seeder;

class SkillsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //1
        $skill = new \App\Models\Skill();
        $skill->title = 'PC 端网站布局';
        $skill->description = '掌握表单、表格、标题、段落等常见标签，并能采用语义化的方式进行页面布局。学习浮动、定位、盒子模型、选择器等常见样式，并能配合 HTML 完成 PC 端页面的制作。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 1, 'complete_percentage' => 4, 'next_skill_id' => [2]]);
        $skill->careers()->attach(7, ['step' => 1, 'complete_percentage' => 4, 'next_skill_id' => [9]]);
        //2
        $skill = new \App\Models\Skill();
        $skill->title = 'Photoshop 工具及切图';
        $skill->description = '了解图片格式的分类及特性，并对 PSD 格式有深入理解。可利用 PS 工具进行网页切图，对图片进行设计及处理。掌握企业中是如何进行切图操作的，能配合设计师完成项目开发。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 2, 'complete_percentage' => 8, 'next_skill_id' => [3]]);
        //3
        $skill = new \App\Models\Skill();
        $skill->title = 'H5 移动端网页布局';
        $skill->description = '了解移动端专业词汇、PPI、像素比、Retina高清屏等。掌握移动端布局方案：流式布局、rem 布局等。学习响应式布局的实现原理，并能完成多端适配。学习移动端 reset, 1px border, 高清图片等优化方案。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 3, 'complete_percentage' => 15, 'next_skill_id' => [4]]);
        //4
        $skill = new \App\Models\Skill();
        $skill->title = 'H5+CSS3 新特性与交互';
        $skill->description = '掌握新的语义化标签， 如section、article、aside等。了解音频与视频，并能添加到页面中进行展示。学习 CSS3 新的样式，如动画、3D、过渡、阴影、弹性盒模型，grid 网格布局，字体图标等。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 4, 'complete_percentage' => 17, 'next_skill_id' => [5]]);
        //5
        $skill = new \App\Models\Skill();
        $skill->title = 'JavaScript 语法全面进阶';
        $skill->description = '掌握 JavaScript 基本语法，包括：运算符、函数、DOM、BOM、事件、面向对象、动画等。学习内置对象，包括：字符串、数组、时间、正则等。掌握常见算法，如排序、随机、去重、碰撞检测等。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 5, 'complete_percentage' => 18, 'next_skill_id' => [6,7,8,9]]);
        //6
        $skill = new \App\Models\Skill();
        $skill->title = 'ES6 到 ES10 新语法实践';
        $skill->description = '对 ES6 中新提供的内容进行掌握，包括：模板字符串、箭头函数、面向对象、解构赋值、promise 规范、模块化开发、async/await 异步处理、Map/Set 数据结构等。并能用于实践当中，完成常见交互功能。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 5, 'complete_percentage' => 19, 'next_skill_id' => []]);
        //7
        $skill = new \App\Models\Skill();
        $skill->title = '设计模式及插件编写';
        $skill->description = '了解常见设计模式：MVC、MVVM、观察者模式、单例模式、工厂模式、适配器模式等。基于面向对象的插件编写模式，配置参数、实例方法、自定义事件等。利用插件方式开发复杂交互效果。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 5, 'complete_percentage' => 20, 'next_skill_id' => []]);
        //8
        $skill = new \App\Models\Skill();
        $skill->title = '封装 JS 工具库及 Web APIS';
        $skill->description = '自主开发 DOM 库、事件库、AJAX 库、原型与继承库、基于 SPA 的路由库。学习 H5 新 API 接口，音视频接口、本地存储接口。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 5, 'complete_percentage' => 21, 'next_skill_id' => []]);
        //9
        $skill = new \App\Models\Skill();
        $skill->title = 'AJAX + PHP + MySQL 前后端交互';
        $skill->description = '了解前端与后端责任与分工，知道 JSON 数据、AJAX 技术，跨域等，能实现前后端数据传输。掌握 PHP 基本语法，搭建 web 服务器，对 MySQL 有较深入了解，如：命令行操作、多表查询、事务、函数、分区等。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 6, 'complete_percentage' => 35, 'next_skill_id' => [10]]);
        $skill->careers()->attach(7, ['step' => 2, 'complete_percentage' => 35, 'next_skill_id' => [10]]);
        //10
        $skill = new \App\Models\Skill();
        $skill->title = '前端工程化与模块化应用';
        $skill->description = '掌握常见工具：Gulp、Webpack、NPM、Git/SVN。了解命令行参数， 学习 Linux 命令等，掌握CommonJS、AMD、CMD、ES6 模块化等模块化相关内容，学会 requireJS 库的使用。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 7, 'complete_percentage' => 50, 'next_skill_id' => [11,12]]);
        //11
        $skill = new \App\Models\Skill();
        $skill->title = 'PC 端全栈开发项目';
        $skill->description = '项目实践包括：项目规划、前期准备、 项目进度把控、项目开发、项目测试等。实现 PC 项目的弹出模态框、轮播图、选项卡、视频播放器、 切换滑屏等 常见功能。 使用jQueryUI、jQuery、EasyUI、Highcharts/Echarts 、
ArtTemplate、smarty 等技术。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 7, 'complete_percentage' => 50, 'next_skill_id' => [12]]);
        //12
        $skill = new \App\Models\Skill();
        $skill->title = 'Node.js 全面进阶';
        $skill->description = '掌握 Node.js 核心模块，包括：process、path、fs、http 等。了解 npm 命令及利用 Node 进行工具开发。对爬虫、服务器搭建、IO 传输、Socket 协议、加密等有所了解。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 8, 'complete_percentage' => 75, 'next_skill_id' => [13]]);
        //13
        $skill = new \App\Models\Skill();
        $skill->title = '精通 Vue.js 框架';
        $skill->description = '理解什么是渐进式框架、数据响应式框架。对 Vue 进行深入理解，如：单页面.vue 文件、路由、状态管理、脚手架、调试工具、nuxt 框架等。学习 Vue 相关的 UI 组件，并能应用于实践当中。';
        $skill->save();
        $skill->careers()->attach(3, ['step' => 9, 'complete_percentage' => 100, 'next_skill_id' => []]);

        $skill = new \App\Models\Skill();
        $skill->title = 'MySQL数据库';
        $skill->description = '数据库的建立与连接，SQL语句的编写，基础增删改查的操作。';
        $skill->save();
        $skill->careers()->attach(1, []);
        $skill->careers()->attach(4, []);
//        $skill->careers()->attach(7, []);
        $skill->careers()->attach(10, []);
        $skill->careers()->attach(6, []);
    }
}
